package relthitools;

import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.ImageIcon;

public class CONTROL 
{
    private String Login = "root";  // Usuario MYSQL
    private String Password = "123"; // Contraseña MYSQL
    private String url = "jdbc:mysql://localhost:3306/bd_relthitools"; // Direccion de Base de Datos
    private Connection con = null;
    public String error = "";
    public int longi;
    public ImageIcon foto;
    
//**************************** CONEXION A BD **************************    
    public void Conectar()
      {
        try 
          {
           Class.forName("com.mysql.jdbc.Driver");
            try 
              {
                con = DriverManager.getConnection(url,Login,Password);
                System.out.println("Conexion Exitosa");
              } 
             catch (SQLException ex) 
              {
               System.out.println("Error 2"+ex.getMessage());
              }
           } 
        catch (ClassNotFoundException ex) 
           {
           System.out.println("Error 1"+ex.getMessage());
           }
       }
    
//******************** DESCONECTAR BD *************************   
    
    public void Desconectar() throws SQLException
    {
    con.close();
    }
    
// *********************** NUEVO LECTOR **************************    
    
    public byte Empleado(ENTIDAD_EMPLEADO empleado)
       {   
        byte exito = 0;
        try 
          {    
           this.Conectar();
           PreparedStatement ps = con.prepareStatement(
                "INSERT INTO tbl_Empleados(Matricula,Fecha_Reg,Puesto,Telefono,Nombre,Direccion,Foto,Status) VALUES(?,?,?,?,?,?,?)");
           
            ps.setString(1, empleado.getFechaAlta());
            ps.setString(2, empleado.getPuesto());
            ps.setString(3, empleado.getTelefono());
            ps.setString(4, empleado.getNombre());
            ps.setString(5, empleado.getDireccion());
            ps.setBlob(6,empleado.getImage());
            ps.setBoolean(7, true);                      
            
            ps.executeUpdate();
            exito = 1;
              System.out.println("Guardado Correctamente");
          } 
        catch (SQLException ex)
          {
              exito=0;
              System.out.println("Error 3"+ex.getMessage());
          }
        
        return exito;
    }
    
    
    public ResultSet Matricula()
    {
      ResultSet consulta=null;
        try 
           {
           
            PreparedStatement ps = con.prepareStatement
             ("SELECT COUNT(Matricula)AS Registrados FROM tbl_empleados;");
               consulta = ps.executeQuery();     
           }
        catch (SQLException ex)
           {
            ex.getMessage();
           }
      return consulta;
    }
    
    public byte Productos(ENTIDAD_PRODUCTOS productos)
       {   
        byte exito = 0;
        try 
          {    
           this.Conectar();
           PreparedStatement ps = con.prepareStatement(
                "INSERT INTO tbl_Productos(IdProducto,Producto,Modelo,Marca,Características,Precio,Foto,Status) VALUES(?,?,?,?,?,?,?)");
           
            ps.setString(1, productos.getId_producto());
            ps.setString(2, productos.getProducto());
            ps.setString(3, productos.getModelo());
            ps.setString(4, productos.getMarca());
            ps.setString(5, productos.getCaracteristicas());
            ps.setFloat(6, productos.getPrecio());
            ps.setBlob(7,productos.getFoto());
            ps.setBoolean(8, true);                      
            
            ps.executeUpdate();
            exito = 1;
              System.out.println("Guardado Correctamente");
          } 
        catch (SQLException ex)
          {
              exito=0;
              System.out.println("Error 3"+ex.getMessage());
          }
        
        return exito;
    }
    
    //-------------------------------------------------------------------------//
    //consulta productos
    
    //-----------------------------------------------------------------------------//
    public byte Recepcion(ENTIDAD_RECEPCION recepcion)
       {   
        byte exito = 0;
        try 
          {    
           this.Conectar();
           PreparedStatement ps = con.prepareStatement(
                "INSERT INTO tbl_recepcion(No_Folio,fecha_entrada,fecha_entrega,"
                   + "Cliente,Telefono,Email,Cantidad,Tipo_equipo,Marca,Modelo,Obs_Cliente,Obs_Tecnico,Costo_Servicio,Garantia,Estado,Status) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
           
            ps.setString(1, recepcion.getNoRecepcion());
            ps.setString(2, recepcion.getFecha_entrada());
            ps.setString(3, recepcion.getFecha_entrega());
            ps.setString(4, recepcion.getNom_cliente());
            ps.setString(5, recepcion.getTelefono());
            ps.setString(6, recepcion.getCorreo());
            ps.setInt(7,recepcion.getCantidad());
            ps.setString(8,recepcion.getTipo_equipo());
            ps.setString(9,recepcion.getMarca());
            ps.setString(10,recepcion.getModelo());
            ps.setString(11,recepcion.getObserv_clien());
            ps.setString(12,recepcion.getObserv_tec());
            ps.setInt(13,recepcion.getCosto_Serv());
            ps.setString(14,recepcion.getGarantía());
            ps.setString(15,recepcion.getEstado());
            ps.setBoolean(16, true);                      
            
            ps.executeUpdate();
            exito = 1;
              System.out.println("Guardado Correctamente");
          } 
        catch (SQLException ex)
          {
              exito=0;
              System.out.println("Error 3"+ex.getMessage());
          }
        
        return exito;
    }
    
    //
    
}
